package com.ihrm.system.service;

import com.ihrm.domain.system.Role;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @author 小伟
 * @version V1.0
 * @Package com.ihrm.system.service
 * @date 2020/12/13 9:24
 * @Copyright © 2020-2021 郑州恒星科技有限责任公司
 * 角色管理业务层接口
 */
public interface RoleService  {
    /**
     * 添加权限信息
     * @param role 权限对象
     */
    void saveRole(Role role);

    /**
     * 修改权限信息
     * @param role 权限对象
     */
    void updateRole(Role role);

    /**
     * 根据id查询权限信息
     * @param id 权限id
     * @return 权限信息
     */
    Role findById(String id);

    /**
     * 查询企业全部权限信息
     * @param page 页码
     * @param size 页面大小
     * @param companyId 企业id
     * @return 权限列表
     */
    Page<Role> findSearch(String companyId,int page, int size);

    /**
     * 根据权限id删除权限
     * @param id 权限id
     */
    void deleteById(String id);

    /**
     * 为角色分配权限
     * @param roleId 角色id
     * @param permIds 权限id集合
     */
    void assignPerms(String roleId, List<String> permIds);

    /**
     * 查询企业全部角色信息
     * @param companyId 企业id
     * @return 角色列表
     */
    List<Role> findAll(String companyId);
}
